/**
 * 
 */
package org.gov.vis.master.controller;

import java.util.List;

import org.gov.vis.master.dto.DeptDto;

/**
 * @author Vishwanath
 *
 */
public interface DepartmentCtlr extends BaseCtlr{


	/**
	 * Method called to Add or Edit the Department
	 * @param deptDto
	 * @throws Exception
	 */
	public void addOrEditDepartment(final DeptDto _deptDto) throws Exception;
	
	/**
	 * Method called to delete the Department Object based on the passed dept Id
	 * @param _deptId
	 * @throws Exception
	 */
	public void deleteDepartment(long _deptId) throws Exception;
	
	/**
	 * Method called to get the Department based on the passed Department Object
	 * @param deptDto
	 * @return
	 * @throws Exception
	 */
	public DeptDto getDepartment(final DeptDto _deptDto) throws Exception;
	
	/**
	 * Method called to get the list of Department based on the passed Department Object
	 * @param deptDto
	 * @return
	 * @throws Exception
	 */
	public List<DeptDto> getDepartments(final DeptDto _deptDto) throws Exception;
	
	/**
	 * Method called to search for the Departments based on the passed Department Object
	 * @param deptDto
	 * @return
	 * @throws Exception
	 */
	public List<DeptDto> searchDepartments(final DeptDto _deptDto) throws Exception; 
	
	/**
	 * Method called to get the Department based on the passed primary key Id
	 * @param _deptId
	 * @return
	 * @throws Exception
	 */
	public DeptDto getDepartment(final long _deptId) throws Exception;
	
	/**
	 * Method called to get the Department based on the passed Code
	 * @param _deptCode
	 * @return
	 * @throws Exception
	 */
	public DeptDto getDepartmentOnCode(final String _deptCode) throws Exception;
	
	


}
